Industrial control systems have enabled modern factories to become partially or completely automated in many circumstances. These systems generally include a plurality of Input and Output (I/O) modules that interface at a device level to switches, contactors, relays and solenoids along with analog control to provide more complex functions such as Proportional, Integral and Derivative (PID) control. Communications have also been integrated within the systems, whereby many industrial controllers can communicate via network technologies such as Ethernet or Control Net and also communicate to higher level computing systems. Industrial controllers utilize the aforementioned technologies along with other technology to control multiple applications ranging from complex and dangerous to more traditional and repetitious applications. As an example, steel and automobile production often require control and integration with complex welding and/or robotic systems whereas, a transfer or automated assembly line can produce hundreds of thousands of similar items daily such as with beverages or packaged products.
At the core of the industrial control system, is a logic processor such as a Programmable Logic Controller (PLC). PLC's are programmed by systems designers to operate manufacturing processes via user-designed logic programs or user programs. The user programs are stored in memory and generally executed by the PLC in a sequential manner although instruction jumping, looping and interrupt routines, for example, are also common. Associated with the user program are data table variables that provide dynamics to PLC operations and programs. These variables include bits, bytes, words, integers, floating point numbers, timers and counters to name but a few examples.
Non-volatile memory (e.g., data retained by memory during power loss) typically provides an important aspect in conventional PLC operations, wherein power-up and power-down memory retention functionality enables PLC's to return to a previous state of operation. Upon power-up of the PLC, for example, user programs and data tables generally must be restored to conditions or states that were present just prior to power-down. Since speed is also an important aspect for PLC operations, volatile high-speed memory (e.g., SRAM/SDRAM) is often employed. In order to retain state information during power-up and down operations, batteries are commonly utilized in conjunction with high-speed memory to retain memory voltages and associated contents during power-down conditions.
The above architectural configuration, wherein memories are backed-up with power sources, such as batteries, enables changes to be made to PLC application programs while the PLC remains in an operational state, yet, preserves changes even if power is lost immediately after the changes are made. Flexibility to make such changes to an operating application is of great value to control applications that run continuously such as with paper mills and chemical processes, for example. Unfortunately, as program requirements and resultant memory sizes increase, battery current supplied to the memory increases significantly. Thus, battery life is a major issue especially in smaller and medium sized controllers, wherein the controllers are likely distributed throughout a large factory or geographical area making battery replacement difficult and costly. In view of the above problems, there is a need for a system and methodology to mitigate battery current or auxiliary power requirements associated with PLC memories.